import { request } from "../../request/index.js"
import regeneratorRuntime from '../../lib/runtime/runtime';
Page({
  data: {
    // 导航栏的数据
    tabs: [
      {
        id: 0,
        value: "综合",
        isActive: true
      },
      {
        id: 1,
        value: "销量",
        isActive: false
      },
      {
        id: 2,
        value: "价格",
        isActive: false
      },
    ],
    // 商品数据
    goodsList: [],
    // 总页数
    pageTotal: 1

  },
  // 接口的查询参数
  queryParams: {
    query: "",
    cid: "",
    pagenum: 1,
    pagesize: 10
  },
  onLoad: function (options) {
    // 两种跳转方式
    // 1. 分类页跳转
    this.queryParams.cid = options.cid || ""
    // 2. 首页跳转
    this.queryParams.query = options.query || ""

    this.getGoodsList()

  },
  // 获取商品数据
  async getGoodsList () {
    const res = await request({
      url: '/goods/search',
      data: this.queryParams,
    })
    this.setData({
      //  合并旧的数据和新数据
      goodsList: [...this.data.goodsList, ...res.goods],
      pageTotal: Math.ceil(res.total / this.queryParams.pagesize)
    })
    // 关闭下拉刷新的窗口 如果没有调用下拉刷新的窗口 直接关闭不会报错
    wx.stopPullDownRefresh()


  },

  // 自定义组件tabs触摸事件
  handleTabsChange (e) {
    const index = e.detail.index
    console.log(index)
    // 获得一个data.tabs
    let tabs = this.data.tabs
    tabs.forEach(item => {
      if (item.id === index) {
        item.isActive = true
      }
      else {
        item.isActive = false
      }
    })
    this.setData({
      tabs
    })
  },
  // 页面触底生命周期函数
  onReachBottom () {
    // 判断当前页是否为最后一页
    if (this.queryParams.pagenum >= this.data.pageTotal) {
      return wx.showToast({ title: '没有下一页数据了' });

    }
    //如果不是最后一页
    this.queryParams.pagenum++
    this.getGoodsList()
  },
  // 下拉生命周期函数
  onPullDownRefresh () {
    // 1. 重置数组
    this.setData({
      goodsList: []
    })
    // 2. 重置页码
    this.queryParams.pagenum = 1;
    // 3. 重新发送请求
    this.getGoodsList()
    // 4. 手动关闭等待效果
    // 在getGoodsList设置
    // wx.stopPullDownRefresh();
  }



})